<!DOCTYPE html>
<!-- saved from url=(0043)https://shimo.im/docs/vkCKXyRtYJtR39tg/read -->
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
        
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,user-scalable=no">
        <meta name="theme-color" content="#000000">
        <meta name="version" content="1.4.6">
        <link rel="shortcut icon" href="https://assets-cdn.shimo.im/from_qbox/doc_favicon.ico">
        <meta name="description" content="石墨文档是一款轻便、简洁的在线协作文档工具，PC端和移动端全覆盖，支持多人同时对文档编辑和评论，让你与他人轻松完成协作撰稿、方案讨论、会议记录和资料共享等工作。">
        <meta name="keywords" content="在线协作文档,在线文档编辑,在线协作编辑,协同编辑,多人编辑,团队协作工具,文档管理工具,文档协作,文件存储,文件共享,协作办公,SAAS,云协作,google docs,在线office">
        <meta name="google" content="notranslate">
        <style type="text/css" data-styled-components="" data-styled-components-is-local="true"></style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-4201804011 */
.randomClass-keafdv{position:fixed;overflow:auto;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;z-index:999;-webkit-overflow-scrolling:touch;outline:0;}.sm-modal-mask-hidden{display:none;}
</style><style type="text/css" data-styled-components="sfCUt inYJrZ" data-styled-components-is-local="true">/* sc-component-id: sc-1n784rm-0 */

.sfCUt{box-sizing:border-box;display:inline-block;border-radius:2px;border-width:1px;border-style:solid;background-color:#fff;text-align:center;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;-webkit-transition:opacity 0.3s,border-color 0.3s;transition:opacity 0.3s,border-color 0.3s;color:#666;border-width:0;background-image:linear-gradient(#fdfdfd,#f8f8f8);box-shadow:0 1px 1px 0 rgba(0,0,0,0.11);position:relative;font-size:12px;font-weight:bold;line-height:1.4;min-width:90px;height:30px;line-height:28px;padding:0 15px;}.sfCUt:focus{outline:none;}.sfCUt:active{opacity:0.9;}.sfCUt:hover{background-image:none;}.sfCUt::before{content:'';display:block;position:absolute;top:-1px;left:-1px;z-index:-1;width:100%;height:100%;border:1px solid rgba(65,70,75,0.05);border-radius:2px;-webkit-transition:opacity 0.3s ease-out;transition:opacity 0.3s ease-out;opacity:0;}.sfCUt:hover{border-radius:1px;}.sfCUt:hover::before{opacity:1;}.sfCUt[disabled]{border-radius:1px;}.sfCUt[disabled]::before{opacity:1;}.sfCUt:hover{background-image:linear-gradient(#fdfdfd,#f8f8f8);}.sfCUt:active{box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);background-image:linear-gradient(#f0f0f0,#f7f7f7);}.sfCUt[disabled]{color:#ccc;background-color:#f7f7f7;}.sfCUt[disabled]::before{border-color:rgba(0,0,0,0.05);}.sfCUt[disabled]{cursor:not-allowed;background-image:none;}

.inYJrZ{box-sizing:border-box;display:inline-block;border-radius:2px;border-width:1px;border-style:solid;background-color:#fff;text-align:center;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;-webkit-transition:opacity 0.3s,border-color 0.3s;transition:opacity 0.3s,border-color 0.3s;color:#666;border-width:0;background-image:linear-gradient(#fdfdfd,#f8f8f8);box-shadow:0 1px 1px 0 rgba(0,0,0,0.11);position:relative;font-size:14px;font-weight:bold;line-height:1.4;min-width:100px;height:34px;line-height:32px;padding:0 15px;}.inYJrZ:focus{outline:none;}.inYJrZ:active{opacity:0.9;}.inYJrZ:hover{background-image:none;}.inYJrZ::before{content:'';display:block;position:absolute;top:-1px;left:-1px;z-index:-1;width:100%;height:100%;border:1px solid rgba(65,70,75,0.05);border-radius:2px;-webkit-transition:opacity 0.3s ease-out;transition:opacity 0.3s ease-out;opacity:0;}.inYJrZ:hover{border-radius:1px;}.inYJrZ:hover::before{opacity:1;}.inYJrZ[disabled]{border-radius:1px;}.inYJrZ[disabled]::before{opacity:1;}.inYJrZ:hover{background-image:linear-gradient(#fdfdfd,#f8f8f8);}.inYJrZ:active{box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);background-image:linear-gradient(#f0f0f0,#f7f7f7);}.inYJrZ[disabled]{color:#ccc;background-color:#f7f7f7;}.inYJrZ[disabled]::before{border-color:rgba(0,0,0,0.05);}.inYJrZ[disabled]{cursor:not-allowed;background-image:none;}
</style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-1274816861 */
#ToastsContainer_ShimoUI .Toastify__toast-container{width:100%;text-align:center;height:0;padding:0;margin:0;margin-top:30px;right:0;}#ToastsContainer_ShimoUI .Toastify__toast{box-shadow:none;background:none;cursor:auto;overflow:visible;margin:0;padding:0;display:inline;}#ToastsContainer_ShimoUI .Toastify__toast:after{content:'\a';white-space:pre;}#ToastsContainer_ShimoUI .Toastify__toast-body{display:inline;}#ToastsContainer_ShimoUI .Toast_mask{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;background:transparent;z-index:999999;}
</style><style type="text/css" data-styled-components="gLVbAR kqIoIJ liDUmU" data-styled-components-is-local="true">/* sc-component-id: sc-chPdSV */

.gLVbAR{clear:both;width:816px;margin:0 auto;padding-top:25px;padding-bottom:25px;text-align:center;width:100%;}
/* sc-component-id: sc-kgoBCf */

.kqIoIJ{font-size:12px;color:#a5a5a5;-webkit-font-smoothing:antialiased;}
/* sc-component-id: sc-kGXeez */

.liDUmU{text-align:center;position:fixed;right:20px;bottom:48px;width:60px;height:60px;-webkit-text-decoration:none;text-decoration:none;box-shadow:0px 6px 10px rgba(0,0,0,0.1),0px 4px 16px rgba(0,0,0,0.06), 0px 1px 24px rgba(0,0,0,0.06);line-height:60px;border-radius:30px;font-size:20px;color:#41464b;-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5);}
</style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-1193784920 */
.randomClass-dhpOWU.sm-dropdown{position:absolute;left:-9999px;top:-9999px;display:block;z-index:1050;}.randomClass-dhpOWU.sm-dropdown .sm-dropdown-menu{box-shadow:0 2px 8px 0 rgba(0,0,0,0.15);}.randomClass-dhpOWU.sm-dropdown-tip::before{content:'';position:absolute;z-index:-1;display:block;width:10px;height:10px;background-color:#fff;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);box-shadow:0 0 6px 0 rgba(0,0,0,0.15);}.randomClass-dhpOWU.sm-dropdown-tip::after{content:'';display:block;position:absolute;border-color:transparent;border-width:6px;border-style:solid;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomLeft::before{left:20px;top:-4px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomLeft::after{left:19px;top:-12px;border-bottom-color:#fff;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomRight::before{right:20px;top:-4px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomRight::after{right:19px;top:-12px;border-bottom-color:#fff;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomCenter::before{left:50%;top:-4px;margin-left:-6px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-bottomCenter::after{left:50%;top:-12px;margin-left:-6px;border-bottom-color:#fff;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topLeft::before{left:20px;bottom:-4px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topLeft::after{left:19px;bottom:-12px;border-top-color:#fff;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topRight::before{right:20px;bottom:-4px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topRight::after{right:19px;bottom:-12px;border-top-color:#fff;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topCenter::before{left:50%;bottom:-4px;margin-left:-6px;}.randomClass-dhpOWU.sm-dropdown-tip.sm-dropdown-placement-topCenter::after{left:50%;bottom:-12px;margin-left:-6px;border-top-color:#fff;}.randomClass-dhpOWU.sm-dropdown-hidden{display:none;}.randomClass-dhpOWU.sm-dropdown-mask{z-index:1050;position:absolute;top:0;bottom:0;left:0;right:0;}.randomClass-dhpOWU.sm-dropdown-mask-hidden{display:none;}
</style><style type="text/css" data-styled-components="" data-styled-components-is-local="true"></style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-2145721762 */
.randomClass-mvIob{display:block;position:absolute;font-size:12px;-webkit-font-smoothing:auto;line-height:1.375;opacity:1;z-index:1060;}.randomClass-mvIob .sm-tooltip-inner{color:#fff;text-align:center;padding:6px 10px;background:#41464b;border-radius:2px;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1);height:auto;line-height:1.375;white-space:normal;}.randomClass-mvIob.sm-tooltip-hidden{display:none;}.randomClass-mvIob .sm-tooltip-arrow{position:absolute;width:0;height:0;border-color:#41464b;border-style:solid;}.randomClass-mvIob .sm-tooltip-arrow::after{content:'';position:absolute;width:5px;height:5px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);box-shadow:0 0 8px 0 rgba(0,0,0,0.4);z-index:-1;}.randomClass-mvIob.sm-tooltip-theme-blue .sm-tooltip-inner{background:#8ab3e9;}.randomClass-mvIob.sm-tooltip-theme-blue .sm-tooltip-inner{background:#8ab3e9;}.randomClass-mvIob.sm-tooltip-theme-blue .sm-tooltip-arrow{border-color:#8ab3e9;}.randomClass-mvIob.sm-tooltip-theme-white{opacity:1;}.randomClass-mvIob.sm-tooltip-theme-white .sm-tooltip-inner{color:#333;background:#fff;}.randomClass-mvIob.sm-tooltip-theme-white .sm-tooltip-inner{background:#fff;box-shadow:0 2px 8px 0 rgba(0,0,0,0.2);}.randomClass-mvIob.sm-tooltip-theme-white .sm-tooltip-arrow{border-color:#fff;}.randomClass-mvIob.sm-tooltip-theme-white .sm-tooltip-arrow::after{box-shadow:0 0 6px 0 rgba(0,0,0,0.2);}.randomClass-mvIob.sm-tooltip-placement-top,.randomClass-mvIob.sm-tooltip-placement-topLeft,.randomClass-mvIob.sm-tooltip-placement-topRight{padding-bottom:7px;}.randomClass-mvIob.sm-tooltip-placement-top .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-topLeft .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-topRight .sm-tooltip-arrow{bottom:3px;border-width:4px 4px 0;border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent;}.randomClass-mvIob.sm-tooltip-placement-top .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-topLeft .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-topRight .sm-tooltip-arrow::after{left:-2.5px;top:-6.5px;}.randomClass-mvIob.sm-tooltip-placement-bottom,.randomClass-mvIob.sm-tooltip-placement-bottomLeft,.randomClass-mvIob.sm-tooltip-placement-bottomRight{padding-top:7px;}.randomClass-mvIob.sm-tooltip-placement-bottom .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-bottomLeft .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-bottomRight .sm-tooltip-arrow{top:3px;border-width:0 4px 4px;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;}.randomClass-mvIob.sm-tooltip-placement-bottom .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-bottomLeft .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-bottomRight .sm-tooltip-arrow::after{left:-2.5px;top:1.5px;box-shadow:0 0 10px 0 rgba(0,0,0,0.2);}.randomClass-mvIob.sm-tooltip-placement-left,.randomClass-mvIob.sm-tooltip-placement-leftTop,.randomClass-mvIob.sm-tooltip-placement-leftBottom{padding-right:7px;}.randomClass-mvIob.sm-tooltip-placement-left .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-leftTop .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-leftBottom .sm-tooltip-arrow{right:3px;border-width:4px 0 4px 4px;border-top-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}.randomClass-mvIob.sm-tooltip-placement-left .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-leftTop .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-leftBottom .sm-tooltip-arrow::after{left:-6.5px;top:-2.5px;}.randomClass-mvIob.sm-tooltip-placement-right,.randomClass-mvIob.sm-tooltip-placement-rightTop,.randomClass-mvIob.sm-tooltip-placement-rightBottom{padding-left:7px;}.randomClass-mvIob.sm-tooltip-placement-right .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-rightTop .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-rightBottom .sm-tooltip-arrow{left:3px;border-width:4px 4px 4px 0;border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;}.randomClass-mvIob.sm-tooltip-placement-right .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-rightTop .sm-tooltip-arrow::after,.randomClass-mvIob.sm-tooltip-placement-rightBottom .sm-tooltip-arrow::after{left:1.5px;top:-2.5px;}.randomClass-mvIob.sm-tooltip-placement-top .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-bottom .sm-tooltip-arrow{left:50%;margin-left:-4px;}.randomClass-mvIob.sm-tooltip-placement-topLeft .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-bottomLeft .sm-tooltip-arrow{left:16px;}.randomClass-mvIob.sm-tooltip-placement-topRight .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-bottomRight .sm-tooltip-arrow{right:16px;}.randomClass-mvIob.sm-tooltip-placement-left .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-right .sm-tooltip-arrow{top:50%;margin-top:-4px;}.randomClass-mvIob.sm-tooltip-placement-leftTop .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-rightTop .sm-tooltip-arrow{top:8px;}.randomClass-mvIob.sm-tooltip-placement-leftBottom .sm-tooltip-arrow,.randomClass-mvIob.sm-tooltip-placement-rightBottom .sm-tooltip-arrow{bottom:8px;}
/* sc-component-id: sc-global-3280337108 */
.sm-tooltip.no-touch{pointer-events:none !important;}.sm-tooltip{pointer-events:auto !important;}.sm-tooltip *{pointer-events:auto !important;}
</style><style type="text/css" data-styled-components="bBZnOa cbYHdA iaSppr kOTtUa fWfGDr iAQwBy cuKFxh cZZyrb iObLYz cUDKsr jVcKXm dStWqN" data-styled-components-is-local="true">/* sc-component-id: sc-hzDkRC */

.iObLYz{position:relative;width:38px;min-width:38px;height:28px;margin:11px 15px 11px 0;}.iObLYz path{fill:rgba(65,70,75,0.3);}
/* sc-component-id: sc-jhAzac */

.cUDKsr{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}
/* sc-component-id: sc-fMiknA */

.fWfGDr{pointer-events:none;height:20px;line-height:24px;margin-left:20px;box-shadow:none;background:inherit;max-width:656px;padding-bottom:4px;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* sc-component-id: sc-fAjcbJ */

.kOTtUa{display:block;height:18px;margin:16px 0;}.kOTtUa > path{fill:#41464b;}
/* sc-component-id: sc-caSCKo */

.iaSppr{float:left;-webkit-text-decoration:none;text-decoration:none;}
/* sc-component-id: sc-gisBJw */

.cbYHdA{margin-left:20px;}
/* sc-component-id: sc-kvZOFW */

.dStWqN{position:relative;width:38px;min-width:38px;height:28px;margin:11px 18px 11px 0px;}.dStWqN svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}
/* sc-component-id: sc-keyframes-bBZnOa */
@-webkit-keyframes bBZnOa{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}50%{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes bBZnOa{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}50%{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}
/* sc-component-id: sc-btzYZH */

.jVcKXm{position:relative;width:72px;height:28px;box-sizing:border-box;margin-top:11px;text-align:center;font-size:14px;font-family:serif;font-weight:bold;border-radius:2px;cursor:pointer;}.jVcKXm.register{background:linear-gradient(180deg,#41464b 0%,#2c3033 100%);color:white;margin-right:10px;border:0;}.jVcKXm.login{background:linear-gradient(180deg,#ffffff 0%,#fafafa 98.11%);border:1px solid rgba(65,70,75,0.5);color:rgba(65,70,75,0.9);}.jVcKXm:hover{opacity:0.9;}
/* sc-component-id: sc-lhVmIH */

.iAQwBy{position:relative;width:8px;height:30px;padding:0;margin:10px 0 10px 15px;cursor:pointer;background-color:#fff;border:none;}.iAQwBy svg{position:absolute;top:calc(50% - 1px);left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}
/* sc-component-id: sc-bYSBpT */

.cZZyrb{vertical-align:bottom;margin-right:5px;}
/* sc-component-id: sc-elJkPf */

.cuKFxh{position:relative;height:12px;line-height:12px;margin:19px 0 19px 20px;font-size:12px;color:#a5a5a5;}
</style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-3361459923 */
.header-download-app .sm-modal-close{top:12px;right:12px;}
</style><style type="text/css" data-styled-components="doEjVX jqmOiT hAHnBB" data-styled-components-is-local="true">/* sc-component-id: sc-exAgwC */

.doEjVX{white-space:nowrap;width:100%;position:relative;background:linear-gradient(180deg,#fdfdfd,#fff);z-index:110;height:50px;box-shadow:0 2px 3px 0 rgba(100,100,100,0.15);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;border-bottom:1px solid #fff;}.doEjVX::after{clear:both;content:'';display:table;}
/* sc-component-id: sc-cQFLBn */

.jqmOiT{position:relative;float:left;padding-left:0px;}.jqmOiT > a,.jqmOiT > div,.jqmOiT > button{display:inline-block;vertical-align:middle;}
/* sc-component-id: sc-gojNiO */

.hAHnBB{position:absolute;right:0;background-color:white;}.hAHnBB > a,.hAHnBB > div,.hAHnBB > button,.hAHnBB > span{float:left;vertical-align:middle;margin-right:10px;}
</style><style type="text/css" data-styled-components="" data-styled-components-is-local="false">/* sc-component-id: sc-global-2858897182 */
html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",Helvetica,Tahoma,Arial,"Microsoft YaHei",微软雅黑,黑体,Heiti,sans-serif,SimSun,宋体,serif;background-color:#F7F7F7;}*{margin:0;padding:0;outline:none;}button,input,optgroup,select,textarea{font-family:inherit;}.hide{display:none;}@media screen and (-webkit-min-device-pixel-ratio:2),screen and (min-resolution:2dppx){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}}
</style>
<link href="./模块五_files/doc-498e73f193.css" rel="stylesheet">
        <title>模块五</title>
    <style type="text/css" data-styled-components="" data-styled-components-is-local="true"></style><style type="text/css">.Toastify__toast-container {
  z-index: 9999;
  position: fixed;
  padding: 4px;
  width: 320px;
  box-sizing: border-box;
  color: #fff; }
  .Toastify__toast-container--top-left {
    top: 1em;
    left: 1em; }
  .Toastify__toast-container--top-center {
    top: 1em;
    left: 50%;
    margin-left: -160px; }
  .Toastify__toast-container--top-right {
    top: 1em;
    right: 1em; }
  .Toastify__toast-container--bottom-left {
    bottom: 1em;
    left: 1em; }
  .Toastify__toast-container--bottom-center {
    bottom: 1em;
    left: 50%;
    margin-left: -160px; }
  .Toastify__toast-container--bottom-right {
    bottom: 1em;
    right: 1em; }

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    padding: 0;
    left: 0;
    margin: 0; }
    .Toastify__toast-container--top-left, .Toastify__toast-container--top-center, .Toastify__toast-container--top-right {
      top: 0; }
    .Toastify__toast-container--bottom-left, .Toastify__toast-container--bottom-center, .Toastify__toast-container--bottom-right {
      bottom: 0; }
    .Toastify__toast-container--rtl {
      right: 0;
      left: initial; } }

.Toastify__toast {
  position: relative;
  min-height: 64px;
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 8px;
  border-radius: 1px;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 15px 0 rgba(0, 0, 0, 0.05);
  display: flex;
  justify-content: space-between;
  max-height: 800px;
  overflow: hidden;
  font-family: sans-serif;
  cursor: pointer;
  direction: ltr; }
  .Toastify__toast--rtl {
    direction: rtl; }
  .Toastify__toast--default {
    background: #fff;
    color: #aaa; }
  .Toastify__toast--info {
    background: #3498db; }
  .Toastify__toast--success {
    background: #07bc0c; }
  .Toastify__toast--warning {
    background: #f1c40f; }
  .Toastify__toast--error {
    background: #e74c3c; }
  .Toastify__toast-body {
    margin: auto 0;
    flex: 1; }

@media only screen and (max-width: 480px) {
  .Toastify__toast {
    margin-bottom: 0; } }

.Toastify__close-button {
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  align-self: flex-start; }
  .Toastify__close-button--default {
    color: #000;
    opacity: 0.3; }
  .Toastify__close-button:hover, .Toastify__close-button:focus {
    opacity: 1; }

@-webkit-keyframes Toastify__trackProgress {
  0% {
    width: 100%; }
  100% {
    width: 0; } }

@keyframes Toastify__trackProgress {
  0% {
    width: 100%; }
  100% {
    width: 0; } }

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  z-index: 9999;
  opacity: 0.7;
  -webkit-animation: Toastify__trackProgress linear 1;
          animation: Toastify__trackProgress linear 1;
  background-color: rgba(255, 255, 255, 0.7); }
  .Toastify__progress-bar--rtl {
    right: 0;
    left: initial; }
  .Toastify__progress-bar--default {
    background: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55); }

@-webkit-keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
            transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
            transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
            transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
            transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
            transform: translate3d(2000px, 0, 0); } }

@-webkit-keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
            transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
            transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
            transform: translate3d(-2000px, 0, 0); } }

@-webkit-keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
            transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
            transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes Toastify__bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

@keyframes Toastify__bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
            transform: translate3d(0, -2000px, 0); } }

@-webkit-keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
            transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
            transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
            transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes Toastify__bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

@keyframes Toastify__bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
            transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
            transform: translate3d(0, 2000px, 0); } }

.Toastify__bounce-enter--top-left, .Toastify__bounce-enter--bottom-left {
  -webkit-animation-name: Toastify__bounceInLeft;
          animation-name: Toastify__bounceInLeft; }

.Toastify__bounce-enter--top-right, .Toastify__bounce-enter--bottom-right {
  -webkit-animation-name: Toastify__bounceInRight;
          animation-name: Toastify__bounceInRight; }

.Toastify__bounce-enter--top-center {
  -webkit-animation-name: Toastify__bounceInDown;
          animation-name: Toastify__bounceInDown; }

.Toastify__bounce-enter--bottom-center {
  -webkit-animation-name: Toastify__bounceInUp;
          animation-name: Toastify__bounceInUp; }

.Toastify__bounce-exit--top-left, .Toastify__bounce-exit--bottom-left {
  -webkit-animation-name: Toastify__bounceOutLeft;
          animation-name: Toastify__bounceOutLeft; }

.Toastify__bounce-exit--top-right, .Toastify__bounce-exit--bottom-right {
  -webkit-animation-name: Toastify__bounceOutRight;
          animation-name: Toastify__bounceOutRight; }

.Toastify__bounce-exit--top-center {
  -webkit-animation-name: Toastify__bounceOutUp;
          animation-name: Toastify__bounceOutUp; }

.Toastify__bounce-exit--bottom-center {
  -webkit-animation-name: Toastify__bounceOutDown;
          animation-name: Toastify__bounceOutDown; }

@-webkit-keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@-webkit-keyframes Toastify__zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes Toastify__zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.Toastify__zoom-enter {
  -webkit-animation-name: Toastify__zoomIn;
          animation-name: Toastify__zoomIn; }

.Toastify__zoom-exit {
  -webkit-animation-name: Toastify__zoomOut;
          animation-name: Toastify__zoomOut; }

@-webkit-keyframes Toastify__flipIn {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

@keyframes Toastify__flipIn {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); } }

@-webkit-keyframes Toastify__flipOut {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes Toastify__flipOut {
  from {
    -webkit-transform: perspective(400px);
            transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
            transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
            transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.Toastify__flip-enter {
  -webkit-animation-name: Toastify__flipIn;
          animation-name: Toastify__flipIn; }

.Toastify__flip-exit {
  -webkit-animation-name: Toastify__flipOut;
          animation-name: Toastify__flipOut; }

@-webkit-keyframes Toastify__slideInRight {
  from {
    -webkit-transform: translate3d(110%, 0, 0);
            transform: translate3d(110%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInRight {
  from {
    -webkit-transform: translate3d(110%, 0, 0);
            transform: translate3d(110%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes Toastify__slideInLeft {
  from {
    -webkit-transform: translate3d(-110%, 0, 0);
            transform: translate3d(-110%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInLeft {
  from {
    -webkit-transform: translate3d(-110%, 0, 0);
            transform: translate3d(-110%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes Toastify__slideInUp {
  from {
    -webkit-transform: translate3d(0, 110%, 0);
            transform: translate3d(0, 110%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInUp {
  from {
    -webkit-transform: translate3d(0, 110%, 0);
            transform: translate3d(0, 110%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes Toastify__slideInDown {
  from {
    -webkit-transform: translate3d(0, -110%, 0);
            transform: translate3d(0, -110%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes Toastify__slideInDown {
  from {
    -webkit-transform: translate3d(0, -110%, 0);
            transform: translate3d(0, -110%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes Toastify__slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(110%, 0, 0);
            transform: translate3d(110%, 0, 0); } }

@keyframes Toastify__slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(110%, 0, 0);
            transform: translate3d(110%, 0, 0); } }

@-webkit-keyframes Toastify__slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-110%, 0, 0);
            transform: translate3d(-110%, 0, 0); } }

@keyframes Toastify__slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-110%, 0, 0);
            transform: translate3d(-110%, 0, 0); } }

@-webkit-keyframes Toastify__slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 110%, 0);
            transform: translate3d(0, 110%, 0); } }

@keyframes Toastify__slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 110%, 0);
            transform: translate3d(0, 110%, 0); } }

@-webkit-keyframes Toastify__slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -110%, 0);
            transform: translate3d(0, -110%, 0); } }

@keyframes Toastify__slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -110%, 0);
            transform: translate3d(0, -110%, 0); } }

.Toastify__slide-enter--top-left, .Toastify__slide-enter--bottom-left {
  -webkit-animation-name: Toastify__slideInLeft;
          animation-name: Toastify__slideInLeft; }

.Toastify__slide-enter--top-right, .Toastify__slide-enter--bottom-right {
  -webkit-animation-name: Toastify__slideInRight;
          animation-name: Toastify__slideInRight; }

.Toastify__slide-enter--top-center {
  -webkit-animation-name: Toastify__slideInDown;
          animation-name: Toastify__slideInDown; }

.Toastify__slide-enter--bottom-center {
  -webkit-animation-name: Toastify__slideInUp;
          animation-name: Toastify__slideInUp; }

.Toastify__slide-exit--top-left, .Toastify__slide-exit--bottom-left {
  -webkit-animation-name: Toastify__slideOutLeft;
          animation-name: Toastify__slideOutLeft; }

.Toastify__slide-exit--top-right, .Toastify__slide-exit--bottom-right {
  -webkit-animation-name: Toastify__slideOutRight;
          animation-name: Toastify__slideOutRight; }

.Toastify__slide-exit--top-center {
  -webkit-animation-name: Toastify__slideOutUp;
          animation-name: Toastify__slideOutUp; }

.Toastify__slide-exit--bottom-center {
  -webkit-animation-name: Toastify__slideOutDown;
          animation-name: Toastify__slideOutDown; }</style><style type="text/css" data-styled-components="" data-styled-components-is-local="true"></style><style type="text/css" data-styled-components="jqVHLt iyLjmU" data-styled-components-is-local="true">
/* sc-component-id: sc-cmTdod */

.jqVHLt{white-space:nowrap;}
/* sc-component-id: sc-jwKygS */

.iyLjmU{display:inline-block;font-size:12px;margin-left:10px;color:white;cursor:pointer;}.iyLjmU::before{content:'✕';}</style><style type="text/css" data-styled-components="gmELis" data-styled-components-is-local="true">
/* sc-component-id: sc-bXGyLb */

.gmELis{width:100%;height:100%;position:absolute;z-index:999;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.gmELis .iframe-wrapper{position:absolute;z-index:999;width:480px;height:544px;}.gmELis .iframe-wrapper iframe{border-radius:2px;border:0;width:100%;height:100%;}.gmELis .iframe-wrapper span{position:absolute;width:12px;height:12px;top:23px;right:28px;z-index:999;cursor:pointer;}.gmELis .iframe-wrapper span path{fill:#c2c2c2;}.gmELis .background{width:100%;height:100%;position:absolute;background:rgba(65,70,75,0.5);}</style><style id="sm-ad-style-container">
  .sm-ad-wrapper {
    display: none;
  }
  .sm-ad-container {
    position: relative;
    height: 0;
    overflow: hidden;
  }
  .sm-ad-container a {
    display: block;
    width: 100%;
    height: 100%;
  }
  @keyframes fadeIn {
    from {
      opacity: 0.3;
    }
    to {
      opacity: 1;
     }
  }

  @keyframes fadeOut {
    from {
      opacity: 1;
     }
    to {
      opacity: 0;
     }
  }

  @-webkit-keyframes fadeIn {
    from {
      opacity: 0.3;
    }
    to {
      opacity: 1;
     }
  }

  @keyframes cardEaseIn {
    from {
      opacity: 0.3;
      top: 50px;
    }
    to {
      opacity: 1;
      top: 0;
     }
  }
  @-webkit-keyframes cardEaseIn {
    from {
      opacity: 0.3;
      top: 50px;
    }
    to {
      opacity: 1;
      top: 0;
     }
  }

  .sm-ad-item {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
  }
  .sm-ad-img {
    display: block;
    max-width: 100%;
    min-width: 100%;
    height: 100%;
  }
  .ad-price {
    cursor: pointer;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 10px;
    line-height: 1em;
    padding: 4px 12px;
    color: white;
    background-color: rgba(216, 216, 216);
    background-color: rgba(216, 216, 216, 0.3);
    border-top-left-radius: 2px;
  }
  .ad-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 999;
    padding: 3px 7px;
    background-color: rgba(216, 216, 216, 0.3);
    color: white;
    font-size: 14px;
    border-radius: 50%;
  }
  .ad-close:before {
    content: "X";
  }
  .ad-price:before {
    content: "广告";
  }
  .sm-ad-item:hover > .ad-price {
    background-color: rgba(216, 216, 216);
    background-color: rgba(216, 216, 216, 0.5);
  }
  .sm-ad-item:hover > .ad-price:before  {
    content: "升级至无广告版本";
  }
  .sm-ad-mask {
    display: none;
    background-color: rgba(44, 48, 51, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
  .sm-ad-mask button {
    width: 120px;
    height: 35px;
    border-radius: 3px;
    box-shadow: 0px 4px 30px 0px rgba(0,0,0,0.3);
    color: #ffffff;
    font-size: 15px;
    transform: translate(0%, 50%);
  }
  .sm-ad-ever-close {
    background-color: #E1AE6C;
    margin-right: 8px;
    border: none;
  }
  .sm-ad-temporal-close {
    border: 1px solid #FFF;
    background-color: rgba(0,0,0,0.1);
  }

  .sm-ad-card {
    width: 100%;
    position: relative;
    margin: 10px 0;
  }
  .sm-ad-card a {
    text-decoration: none;
  }
  .sm-ad-card .sm-ad-carousel__switcher {
    display: none;
  }
  .sm-ad-card:hover .sm-ad-carousel__switcher {
    display: block;
  }
  .sm-ad-card__close {
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    color: #cdcdcd;
    position: absolute;
    top: -5px;
    right: -5px;
    font-weight: lighter;
    cursor: pointer;
  }
  .sm-ad-card__close:before {
    content: "+";
    font-size: 20px
  }
  .sm-ad-card__image-wrapper {
    position: relative;
    height: 100%;
  }
  .sm-ad-card__image {
    display: block;
    width: 100%;
    height: 100%;
  }
  .sm-ad-card__label {
    color: white;
    width: 45px;
    height: 22px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.65);
    font-size: 14px;
    transform: scale(0.5);
    transform-origin: top left;
    position: absolute;
    left: 3px;
    top: 2px;
    text-align: center;
  }
  .sm-ad-card__label--dark {
    text-shadow: unset;
    background-color: black;
    transform-origin: bottom right;
    right: 0;
    bottom: 0;
    left: unset;
    top: unset;
    width: 130px;
    height: 30px;
    line-height: 30px;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
  }
  .sm-ad-card__label.sm-ad-card__label--bottom-right,
  .sm-ad-card__label.sm-ad-card__label--top-right {
    width: auto;
    position: absolute;
    border: solid 1px #41464b;
    color: #41464b;
    padding: 4px 12px;
    font-size: 14px;
    line-height: 20px;
    text-shadow: none;
    bottom: 7px;
    left: initial;
    top: initial;
    right: 10px;
    transform-origin: bottom right;
  }
  .sm-ad-card__label.sm-ad-card__label--top-right {
    bottom: initial;
    top: 10px;
    transform-origin: top right;
  }
  .sm-ad-carousel__switcher {
    width: 12px;
    height: 12px;
    position: absolute;
    top: 46%;
    cursor: pointer;
  }
  .sm-ad-carousel__switcher > svg {
    width: 100%;
    height: 100%;
    vertical-align: top;
  }
  .sm-ad-carousel__switcher-right > svg {
    transform: rotateY(180deg);
  }
  .sm-ad-carousel__switcher-left {
    left: 3px;
  }
  .sm-ad-carousel__switcher-right {
    right: 3px;
  }

  .sm-ad-text-link a {
    text-decoration: none;
  }
  .sm-ad-text-link p {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .sm-ad-shortcut {
    width: 217px;
    height: 30px;
    background-color: #efefef;
    left: -10px;
    cursor: pointer
  }
  .sm-ad-shortcut .sm-ad-card__label {
    width: 48px;
    height: 28px;
    line-height: 28px;
    right: unset;
    bottom: unset;
    top: -5px;
    left: -17px;
  }
  .sm-ad-shortcut p {
    padding-left: 45px;
    font-size: 13px;
    line-height: 1.5;
    color: #7f7f7f;
    padding-top: 6px;
    width: 160px;
  }
  .sm-ad-shortcut .sm-ad-card__close {
    width: 20px;
    height: 20px;
    color: #a5a5a5;
    display: none;
    top: 4px;
    right: -1px;
    font-weight: 200;
  }
  .sm-ad-shortcut:hover .sm-ad-card__close {
    display: block;
  }
  .sm-ad-shortcut .sm-ad-card__close:before {
    font-size: 24px;
  }

  .sm-ad-mobile-link {
    width: 100%;
    height: 16px;
    margin: 15px 0 20px;
  }
  .sm-ad-mobile-link .sm-ad-card__label {
    width: 60px;
    left: -30px;
    font-size: 16px;
  }
  .sm-ad-mobile-link p {
    padding-left: 40px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    color: #41464b;
    width: calc(100% - 40px);
    text-align: left;
  }

  .sm-ad-mobile-card {
    height: 48vw;
    margin: 15px 0;
  }

  .sm-ad-mobile-top-banner {
    transition: height 1s ease 0s;
    height: 88px;
    width: 100%;
    margin: 0;
    position: fixed;
    z-index: 999;
  }

  .sm-ad-mobile-top-banner .sm-ad-card__label--bottom-right {
    bottom: 0;
    right: 0;
    background-color: #000000;
    border: 0;
    color: white;
  }

  .sm-ad-mobile-top-banner .sm-ad-card__label--top-left {
    left: 5px;
    top: 5px;
  }

  .sm-ad-mobile-top-banner .sm-ad-card__close {
    right: 0px;
    top: 0px;
  }

  .sm-ad-mobile-card__button {
    width: 120px !important;
    height: 36px !important;
    min-width: auto;
    position: absolute;
    bottom: 16px;
    left: calc(50% - 60px);
  }

  .sm-ad-mobile-stream-a {
    text-decoration:none;
  }
  .sm-ad-mobile-pic-container .sm-ad-card__close,
  .sm-ad-mobile-mixed-container .sm-ad-card__close {
    width: 14px;
    height: 14px;
    top: 14px;
    right: 14px;
  }
  .sm-ad-mobile-pic-container .sm-ad-card__close:before,
  .sm-ad-mobile-mixed-container .sm-ad-card__close:before {
    font-size: 24px;
    line-height: 10px;
  }
  .tencent-ad.sm-ad-mobile-stream-card__label {
    bottom: 0;
    left: 0;
  }
  .sm-ad-mobile-pic-container .sm-ad-mobile-stream-card__label,
  .sm-ad-mobile-mixed-container .sm-ad-mobile-stream-card__label {
    height: 18px;
    line-height: 18px;
    padding: 0 6px;
    top: 15px;
    left: 15px;
    text-align: center;
    border-radius: 2px;
    background-color: rgba(0,0,0,0.2);
    color: white;
  }
  .sm-ad-mobile-pic-container .sm-ad-mobile-stream-card__upgrade,
  .sm-ad-mobile-mixed-container .sm-ad-mobile-stream-card__upgrade,
  .tencent-ad.sm-ad-mobile-stream-card__upgrade {
    bottom: 0;
    right: 0;
  }
  .sm-ad-mobile-mixed-container .sm-ad-mobile-stream-card__label,
  .sm-ad-mobile-mixed-container .sm-ad-mobile-stream-card__upgrade {
    z-index: 1;
  }
  .sm-ad-mobile-stream-card__label, .sm-ad-mobile-stream-card__upgrade {
    position: absolute;
    color: #41464b;
    font-size: .7em;
    padding: 10px;
    line-height: 10px;
  }
  .sm-ad-mobile-stream-card__label {
    text-align: left;
  }
  .sm-ad-mobile-stream-card__upgrade {
    padding: 3px 6px;
    margin: 6px 10px;
    border: 1px solid #41464b;
    border-radius: 2px;
  }
  .sm-ad-mobile-mixed-container {
    position: relative;
    left: 0px;
    padding: 10px 10px 30px 10px !important;
    background-color: #f8f8f8;
  }
  .sm-ad-mobile-mixed-a {
    position: relative;
    float: left;
    display: flex;
    width: 100%;
  }
  .sm-ad-mobile-mixed-image {
    position: relative;
    float: left;
    flex: none;
  }
  .sm-ad-mobile-mixed-content {
    color: #000;
    line-height: normal;
    letter-spacing: 1.6px;
    background-color: rgb(238, 238, 238);
    display: flex;
    flex-direction: column;
  }
  .sm-ad-mobile-mixed-text {
    flex: auto;
    margin: 12px 9.5px 0 14.5px;
    overflow: hidden;
    font-size: 1em;
  }
  .sm-ad-mobile-mixed-price {
    flex: auto;
    margin-left: 14px;
    letter-spacing: 1.7px;
    overflow: hidden;
    width: calc(100% - 28px);
    font-size: 1em;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .sm-ad-mobile-mixed-brandText {
    margin-left: 5px;
    letter-spacing: 1.6px;
    color: #676b6f;
  }
  .sm-ad-mobile-mixed-button {
    margin: 0 0 10.5px 14px;
    width: fit-content;
    max-width: 300px;
    background-color: #41464b;
    color: #fff;
    text-align: center;
    overflow: hidden;
    font-size: .86em;
    padding: .3em 1.2em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .sm-ad-mobile-pic-container {
    position: relative;
    float: left;
    width: 100%;
    padding: 10px 10px 30px 10px !important;
    background-color: #f8f8f8;
  }
  .sm-ad-mobile-pic {
    width: 100%;
  }

  .sm-ad-bottom-card__wrapper {
    position: relative;
    top: -18px;
    left: -4px;
  }
  .sm-ad-bottom-card__wrapper--animation {
    animation: cardEaseIn 1s ease-in-out;
    -webkit-animation: cardEaseIn 1s ease-in-out;
  }
  .sm-ad-bottom-card {
    width: 182px;
    height: 182px;
    position: relative;
    background-size: cover;
    cursor: pointer;
  }
  .sm-ad-bottom-card p {
    font-size: 11px;
    color: white;
  }
  .sm-ad-bottom-card .sm-ad-card__close {
    top: -8px;
    right: -2px;
    color: white;
  }
  .sm-ad-bottom-card .sm-ad-card__close:before {
    font-size: 30px;
  }
  .sm-ad-bottom-card__apron {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 0 15px;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .sm-ad-bottom-card__text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    top: -7px;
    line-height: 1.1;
  }
  .sm-ad-bottom-card__text p {
    margin: 0;
  }

  .sm-ad-banner {
    height: 50px;
    max-width: 712px;
  }
  .sm-ad-banner .sm-ad-card__close {
    color: #ccc;
    top: -7px;
  }
  .sm-ad-banner::-webkit-scrollbar {
    width: 0;
    background-color: transparent;
  }
  .sm-ad-banner__image {
    width: 712px;
    height: 50px;
    display: block;
  }

  .sm-ad-container.tencent-ad-container .sm-ad-item,
  .sm-ad-container.with-padding-background .sm-ad-item {
    padding: 10px 10px 30px;
    background: #eee;
  }

  .sm-ad-container.with-padding-background .sm-ad-item {
    box-sizing: border-box;
  }

  .sm-ad-container.with-padding-background.sm-ad-mobile-card .sm-ad-item {
    padding-bottom: 10px;
  }

  .sm-ad-mobile-link .sm-ad-card__label--bordered {
    left: 0;
    top: 0;
    width: auto;
    border: solid 1px #41464b;
    color: #41464b;
    padding: 4px 12px;
    font-size: 14px;
    line-height: 20px;
    text-shadow: none;
  }
  </style><link rel="stylesheet" type="text/css" href="./模块五_files/vendors_toc-b668a6ecd0.css"><script charset="utf-8" src="./模块五_files/chunk-vendors_toc-0d78fac8ed.js"></script><link rel="stylesheet" type="text/css" href="./模块五_files/toc-4d2e49760e.css"><script charset="utf-8" src="./模块五_files/chunk-toc-ad2a42f62f.js"></script></head>
    <body class="">
        <div id="file-page-header"><div id="ToastsContainer_ShimoUI"><div class="Toastify"></div></div><div class="sc-exAgwC doEjVX"><div class="sc-cQFLBn jqmOiT"><div class="sc-gisBJw cbYHdA"><a class="sc-caSCKo iaSppr" href="https://shimo.im/desktop"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 106 25" class="sc-fAjcbJ kOTtUa"><path d="M24.9 2.9L23.1.8l-1.7 1.5H2l1 1.2c.1.1.2.1.3.1.2 0 3.3-.1 7.2-.1C8.3 9 5.8 14.1.2 18.6c-.1 0-.1.1-.1.2s.1.2.2.2h.1c5-3.2 7.8-6.8 8.1-7.3v12.8c0 .2.3.3.4.3.9-1.1 1.5-2.1 1.6-3.3 1 0 5.5 0 8-.1.3.3.5.3.7 1.3 0 .2.1.2.3.2h.1c1.7-1 1.9-1.9 1.9-5v-5.6c0-.1 0-.1.1-.2l.5-1.1c.1-.1.1-.2 0-.3l-1.9-1.1c-.1-.1-.3 0-.3.1l-.5 1.1c0 .1-.1.1-.2.1h-8.3l-1.2-.5c1.4-1.8 2-2.9 2.8-4.3.1-.2.1-.3.2-.3.2-.1.2-.3.1-.5l-.1-.1c-.7-.5-1.3-1-1.7-1.7 2.9-.1 13.8-.2 13.8-.2.1 0 .2-.1.1-.4zm-14.3 8.6l.3-.2h8.2c.1 0 .3.1.3.3v7.2c0 .5-.1 1.2-.6 1.7l-.2.1h-8v-9.1zm25.8 1.6c1.4.6 2.4 1.3 2.9 1.7s.5.8 0 1.4c-.1.2-.2.3-.6.6-.6.4-1 .3-1.2-.4-.3-1.6-.8-2.7-1.4-3.3.1.1.1 0 .3 0zm5.8 0c1.5.6 2.4 1.2 3 1.6.5.4.5.8.1 1.4-.1.2-.2.3-.6.7-.6.4-1 .3-1.2-.3-.4-1.6-.9-2.7-1.5-3.2 0-.1.1-.2.2-.2zm-8.5-.1l.1-.1c.1 0 .1 0 .1.1 0 0-.2 2.9-.5 3.5-.2.6-.6.8-1.3.6-.3-.1-1-.4-1-.4-.5-.3-.4-.8 0-1.1 1.5-.9 2.2-1.6 2.6-2.6zm19 9.5v.1c0 .1 0 .1-.1.1H30.3s-.1 0-.2-.1l-.7-.6h10.9v-2.3c-4.1 0-8.1.1-8.3.1 0 0-.1 0-.2-.1l-.7-.7h9.2v-3.6l2.1.5c.1 0 .1.1 0 .2l-.2.3V19h6.1l1.2-1.2 1.5 1.6v.1s0 .1-.1.1h-.1s-4.3 0-8.8.1V22h7l1.5-1.6 2.2 2.1zm-2.1-8.2c.6.3.7.7.3 1.5-.1.2-.1.4-.5.8-.5.5-1 .5-1.3-.1-.7-1.6-1.4-2.7-2.1-3.1-.1-.1 0-.2.1-.2 1.7.3 2.8.7 3.5 1.1zm1.3-1.7l.1.1c0 .1-.1.1-.1.1h-.1c-20.6-.1-20.6 0-20.8 0 0 0-.1 0-.2-.1l-.7-.7 10.2.1v-1.9h-7s-.1 0-.2-.1l-.7-.7 7.9.1V7.7h-6.5c-.4.4-1.1 1-1.4 1.2l-.1.1c-.1 0-.2-.1-.2-.2V1.7l2 .6h14.3l.6-1 1.1.6.7.3c.1 0 .1.1 0 .2l-.4.8v4.1l.1.2c.1.1-.1.3-.2.3h-7.9v1.8h5.1l1.1-1.1 1.5 1.5v.1s0 .1-.1.1h-7.7v1.9h7l1.2-1.1 1.4 1.6zm-9.7-9.8v4.3h1.5c.9-1.3 1.2-2.2 1.6-3.8 0-.1 0-.2.1-.2 0 0 .1 0 .1.1l1.3 1.2c.1.1.2.2 0 .4-.6 1.2-2.5 2.1-3.1 2.3h4.4V2.8h-5.9zm-2 4.3V2.8h-6.3v4.3h6.3zm-1.8-2.5c.4.3.4.7 0 1.3-.1.2-.2.3-.5.6-.5.4-.9.2-1.1-.3-.3-1.5-.7-2.5-1.3-3 0-.1 0-.2.1-.1 1.5.5 2.3 1.1 2.8 1.5zM67 4.5C66.3 2.4 65.6 1 64.7.4c-.1-.1 0-.3.2-.2 2 .6 3.1 1.5 3.9 2 .7.4.7 1 .2 1.9-.1.2-.3.5-.5.7-.6.7-1.2.5-1.5-.3zm11.8 16c.1 0 .2.1.2.3 0 .1-.1.2-.2.2s-.4.1-.6.1c-.8.1-2 .4-2.5 1.6l-.1.1-.1.1h-.2c-2-.9-6.5-3-8.1-4.7l-.1-.1c-2.4 2.2-5.4 3.6-10.6 5h-.1c-.1 0-.2-.1-.2-.2s.1-.2.1-.2c4.4-1.8 7.4-3.8 9.5-6-2.2-2.8-3-5.5-4-10h-4.4c-.1 0-.2 0-.3-.1l-.8-.9h18.8l1.5-1.6L78.3 6c.1.2 0 .3-.2.3 0 0-3.3.1-6.7.2.5.3 1.1.5 1.7.6 0 0 .1 0 .1.1.2.1.1.4-.1.4-.1 0-.4.2-.4.4-.7 2.7-2.3 6.4-4.2 8.5l-.2.2c3.2 2.1 6.6 2.9 10.5 3.8zm-16.1-14c1.2 4 2.7 6.8 4.5 8.7 1.9-2.6 2.9-5.5 3.6-8.8-2.4.1-4.8.1-5.9.1h-2.2zm42.9-3.2c.2.1.1.3-.1.4-.1 0-.3.2-.4.4-1.4 1.7-2.7 3.3-4.8 4.9h-.1c-.1 0-.2-.1-.2-.2s.1-.1.1-.2c1.6-2.7 2.2-4 3-6.4 0-.1.1-.2.2-.2s.2.1.2.1l.1.1c.6.3 1.4.8 2 1.1zM94 7.6c-.1-2.1-1.1-4.7-1.7-5.4 0-.1.1-.2.2-.2 1.6 1.3 2.3 2 3 2.6 1.1 1.1 1 2.5.4 3.2-.2.2-.2.3-.4.4-.9.6-1.4.3-1.5-.6zm-1.4 5.8c-.1.2-.3.3-.4.5-.5.5-1 .3-1.3-.3-.4-1.6-.9-2.6-1.5-3.2v9.8c-.1 1.3-.4 2.3-1.4 3.5-.2.1-.5 0-.5-.3V11.2c-.8 2.5-2.7 4.9-4.6 7 0 .1-.1.1-.1.1-.1.1-.2 0-.3-.1-.1-.1 0-.2 0-.3 3.1-4.4 4-7.9 4.7-11.1h-3.3s-.1 0-.2-.1L83 6l4.2.1h.3v-6l2.1.6c.1.1.1.1 0 .2l-.3.3v4.9h1L91.5 5l1.6 1.5.1.1c0 .1-.1.1-.1.1h-3.7v2.8c1.6.6 2.6 1.4 3.1 2 .4.6.6 1.2.1 1.9zm12.6-3.9c.1.1.1.2 0 .3l-.6 1.1c0 .1-.1.1-.1.2v6.2c0 3.4.1 4.5-1.8 5.7h-.1c-.2 0-.3 0-.3-.2-.3-1.1-.4-1.1-.8-1.4-2.8.1-8 .1-9.1.1l-.6-.8h9.8l.2-.1c.5-.6.7-1.3.7-1.9V16s-.1-.1-.2-.1h-9.4l-.6-.7h10v-4.6c0-.2-.1-.3-.3-.3h-9.4l-.6-.7h5.1V.1l2.2.6c.1.1.1.1 0 .2l-.4.3v8.3h3c.1 0 .2-.1.2-.1l.5-1c.1-.1.3-.2.4-.1l2.2 1.2z" fill="#a5a5a5"></path></svg></a></div><div class="sc-fMiknA fWfGDr">模块五</div><button class="sc-lhVmIH iAQwBy"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20px" height="20px"><path d="M13.5 16.9V4.5h-7v12.4l3.5-3.5 3.5 3.5z" fill="none" stroke="#a5a5a5"></path></svg></button><div class="sc-elJkPf cuKFxh"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" class="sc-bYSBpT cZZyrb" width="12px" height="12px"><path d="M7 13c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zm0-1c2.8 0 5-2.2 5-5S9.8 2 7 2 2 4.2 2 7s2.2 5 5 5zm2.2-8l.8.4L6.1 10 4 7l.7-.6L6.1 8l3.1-4z" fill="#7a9880"></path></svg>今天 13:15 更新</div></div><div class="sc-gojNiO hAHnBB"><span style="display:inline-block;cursor:not-allowed" class="file-demo-screen-btn"><button class="sm-button sc-hzDkRC iObLYz sc-1n784rm-0 sfCUt" type="primary" disabled="" style="pointer-events:none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="sc-jhAzac cUDKsr" width="20px" height="20px"><path d="M10 17c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm0-1c3.3 0 6-2.7 6-6s-2.7-6-6-6-6 2.7-6 6 2.7 6 6 6zm-1.5-3.5v-5l4 2.4-4 2.6z" fill="#555"></path></svg></button></span><button class="register sc-btzYZH jVcKXm">注册</button><button class="login sc-btzYZH jVcKXm">登录</button><button class="sm-button sc-kvZOFW dStWqN sc-1n784rm-0 inYJrZ" type="default"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" width="18px" height="18px"><path d="M18 12c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zm0 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zm0 9c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2z" fill="#41464b"></path></svg></button></div></div><div style="position: absolute; top: 0px; left: 0px; width: 100%;"><div><div class="sm-tooltip  randomClass-mvIob  sm-tooltip-theme-blue sm-tooltip-placement-bottom " style="z-index: 998; left: 1648.09px; top: 39px;"><div class="sm-tooltip-content"><div class="sm-tooltip-arrow"></div><div class="sm-tooltip-inner"><span class="sc-cmTdod jqVHLt">开启更多功能，提升办公效能<span class="sc-jwKygS iyLjmU"></span></span></div></div></div></div></div></div>
        <div id="app-container" class="sm-docs-container external-readonly">
            <div id="editor-scroller" class="editor-scroller">
                <div id="editor" class="ql-container ql-disabled ql-snow ">
                    <div class="ql-title"><div class="ql-title-box" data-value="模块五"><input data-value="模块五" readonly="true" class="mousetrap" id="ql-title-input" autocomplete="off" autocorrect="off" spellcheck="false" value="模块五"></div></div>
                    <div class="ql-editor"><h2 line="init"><div data-header="2">Lambda表达式</div></h2><ul data-list-style="circle"><li line="W9Xl" class="bullet-item">Lambda表达式是实例化函数式接口的重要方式，使用Lambda表达是可以使代码变得更加简洁紧凑。</li></ul><ul data-list-style="circle"><li line="NGNR" class="bullet-item">Lambda表达式：参数列表、箭头符号-&gt;和方法体组成，而方法体中可以使表达式，也可是语句块。</li></ul><ul data-list-style="circle"><li line="0nCS" class="bullet-item">语法格式：（参数列表）-&gt;{方法体;}   其中在（）、{}以及return关键字可以省略。</li></ul><h2 line="2WlP"><div data-header="2">方法引用</div></h2><ul data-list-style="circle"><li line="cq4d" class="bullet-item">方法引用主要是指通过方法的名字来指向一个方法而不需要为方法引用提供方法体，该方法的调用交给·函数式接口执行。</li></ul><ul data-list-style="circle"><li line="VIey" class="bullet-item">方法引用使用一堆冒号：将类或对象与方法名进行连接，</li></ul><ul data-list-style="circle"><li class="bullet-item ql-indent-1" line="rDa0">对象的非静态方法引用    ObjectName :: MethodName</li></ul><ul data-list-style="circle"><li class="bullet-item ql-indent-1" line="KKNm">类的静态方法引用           ClassName   :: StaticMethodName</li></ul><ul data-list-style="circle"><li class="bullet-item ql-indent-1" line="1fIv">类的非静态方法引用        ClassName   :: MethodName</li></ul><ul data-list-style="circle"><li class="bullet-item ql-indent-1" line="y1gl">构造器的引用                  ClassName   :: new</li></ul><ul data-list-style="circle"><li class="bullet-item ql-indent-1" line="gWFn">数组的引用                      TypeName[] :: new</li></ul><ul data-list-style="circle"><li line="DJKK" class="bullet-item">方法引用是在特定场景下lambda表达式的一种简化方式，可已进一步简化嗲妈的编写使代码更加紧凑简洁，从而减少冗余代码。</li></ul><h2 line="bWL4"><div data-header="2">Stream流</div></h2><h3 line="Uua0"><div data-header="3">基本概念</div></h3><ul data-list-style="circle"><li line="9ggG" class="bullet-item">java.util.stream.Stream接口是对集合功能的增强，可以对集合元素进行复杂的查找，过滤，筛选等操作。</li></ul><ul data-list-style="circle"><li line="jS4I" class="bullet-item">Stream接口借助于Lambda表达式极大的提高编程效率和程序的可读性，同事他提供串行和并行两种模式进行汇聚操作，并发模式能够充分利用多核处理器的优势。</li></ul><h3 line="zrBz"><div data-header="3">使用步骤</div></h3><ul data-list-style="circle"><li line="0Mfo" class="bullet-item">创建Stream，通过一个数据源来获取一个流。</li></ul><ul data-list-style="circle"><li line="fceT" class="bullet-item">转换Stream，每次转换返回一个新的Stream对象。</li></ul><ul data-list-style="circle"><li line="SDtd" class="bullet-item">对Stream进行聚合操作并产生结果</li></ul><h3 line="cmph"><div data-header="3">创建方式</div></h3><p line="1BNX">方式一：通过调用集合的默认方法来获取流，如default Stream&lt;E&gt;stream();</p><p line="rUFY">方式二：通过数组工具类中的静态方法来获取流，如static IntStream stream(int [] array)</p><p line="77Tj">方式三：通过Stream接口的静态方法来获取流，如static &lt;T&gt;Stream&lt;T&gt;of(T...values)</p><p line="Aot3">方式四：通过Stream接口的静态方法来获取流，如static&lt;T&gt;generate(Supplier&lt;?extends T&gt;s)</p><p line="nCX3"><br></p></div><script>
function setTransform(el, scale) {
  var prefix = ["ms", "webkit", ""];

  prefix.forEach(function (str) {
    var name = str ? str + "Transform" : "transform";
    el.style[name] = "scale(" + scale + ")";
    el.style[name + "Origin"] = "left center";
  });
}
document.querySelectorAll(".auto-scale").forEach(function (el) {
  var scale = Math.min(el.clientWidth / el.scrollWidth, 1);

  if (scale < 1) {
    setTransform(el, scale);
    el.style.overflow = 'visible';
    el.style.textOverflow = 'inherit';
  }
});
</script><script>
function fixVerticalAlign(el) {
  if (el && el.classList && el.classList.contains('ql-formula-embed')) {
    var contentNode = el.querySelector('.ql-formula-content')
    el.style.marginBottom = '-3px'
    el.style.verticalAlign = 'text-bottom'
    if (contentNode) {
      contentNode.style.verticalAlign = 'bottom'
    }
  }
}
document.querySelectorAll('.ql-blot-gallery-embed').forEach(function (el) {
  while (el && el.tagName !== 'P') {
    fixVerticalAlign(el.nextSibling)
    fixVerticalAlign(el.previousSibling)
    el = el.parentNode
  }
})

// 修复 dataset
document.querySelectorAll('.ql-formula-embed').forEach(function (el) {
  var input = el.querySelector('input');
  el.dataset.value = decodeURIComponent(input && input.value || '');
})
</script>
                <div class="ql-table-of-content" style="top: 51px; height: calc(100% - 51px); width: 315px; margin-left: -315px;"><div id="new-directory" class="table-of-content"><div class="doc-directory-menu"><div class="doc-directory-menu-line"></div><div class="doc-directory-menu-line"></div><div class="doc-directory-menu-line"></div></div><div class="new-doc-directory"><div class="doc-directory-title"><span>目录</span><span class="doc-directory-close"><!--?xml version="1.0" encoding="utf-8"?--> <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.6 15.6"> <path d="M9.2 7.8l6.4-6.4L14.2 0 7.8 6.4 1.4 0 0 1.4l6.4 6.4L0 14.2l1.4 1.4 6.4-6.4 6.4 6.4 1.4-1.4z" fill="#a5a5a5"> </path> </svg> </span></div><div class="doc-directory-content ps ps--theme_default" data-ps-id="f7690c74-383e-f5b3-6d1e-c2d74790d4ee"><ul class="doc-directory-list has-heading-2 has-heading-1 has-only-title"><li class="toc-entry heading-2 header-indent-undefined" data-index="0" data-offset="28"><div class="dic-text">Lambda表达式</div></li><li class="toc-entry heading-2 header-indent-undefined" data-index="1" data-offset="196"><div class="dic-text">方法引用</div></li><li class="toc-entry heading-2 header-indent-undefined hasChildren" data-index="2" data-offset="484"><span class="icon-collapsed"><!--?xml version="1.0" encoding="utf-8"?--> <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 10 10" style="enable-background:new 0 0 10 10" xml:space="preserve"> <g id="Artboard"> <polygon id="Triangle-3-Copy-13" style="fill:#a5a5a5" points="8,5.5 3,9 3,2 	"></polygon> </g> </svg> </span><div class="dic-text">Stream流</div></li><li class="toc-entry heading-1 header-indent-undefined" data-index="3" data-offset="532"><div class="dic-text">基本概念</div></li><li class="toc-entry heading-1 header-indent-undefined" data-index="4" data-offset="672"><div class="dic-text">使用步骤</div></li><li class="toc-entry heading-1 header-indent-undefined" data-index="5" data-offset="788"><div class="dic-text">创建方式</div></li></ul><div class="ps__scrollbar-x-rail" style="left: 0px; bottom: 0px;"><div class="ps__scrollbar-x" tabindex="0" style="left: 0px; width: 0px;"></div></div><div class="ps__scrollbar-y-rail" style="top: 0px; right: 0px;"><div class="ps__scrollbar-y" tabindex="0" style="top: 0px; height: 0px;"></div></div></div></div></div></div></div>
                <div id="file-page-footer"><div class="sc-chPdSV gLVbAR"><span class="sc-kgoBCf kqIoIJ">三<!-- --> &nbsp;阅<a class="sc-kGXeez liDUmU" href="https://shimo.im/docs/vkCKXyRtYJtR39tg/read#">举报</a></span></div><div class="sm-ad-wrapper pos-pc-readonly-doc-bottom" style="max-width: 816px; margin: 15px auto;"></div><div class="sm-ad-wrapper pos-pc-readonly-doc-bottom-2" data-sm-ad="1" style="max-width: 816px; margin: 15px auto; display: block;">
        <div class="sm-ad-container pos-pc-readonly-doc-bottom-2" style="padding-top: 21.4461%;">
          <a href="javascript:" class="sm-ad-item pos-pc-readonly-doc-bottom-2 ad-2021020400003">
            <img class="sm-ad-img" src="./模块五_files/PC-文档底部 banner 1 816x175（黄）.png">
            
          </a>
          <div class="sm-ad-mask">
            <button class="sm-ad-ever-close">永久去广告</button>
            <button class="sm-ad-temporal-close">暂时关闭</button>
          </div>
        </div>
      </div></div>
            </div>
        </div>
        <script>
          window.__SHIMO__ = {
            file: {"is_folder":0,"permissions":{"readable":true,"editable":false,"commentable":false,"manageable":false,"exitable":false,"exportable":true,"collaboratorManageable":false,"adminManageable":false,"outsiderAddable":false,"childFileCreatable":false,"shareModeManageable":false,"teamShareModeManageable":false,"copyable":true,"lockable":false,"unlockable":false,"removable":false,"downloadable":false},"url":"/docs/vkCKXyRtYJtR39tg","isDelete":0,"namePinyin":"mkw|'mo'kuai'wu","parentId":360996672,"passwordProtected":false,"shareCount":0,"shareMode":"readonly","teamId":null,"userId":30686922,"deletedBy":null,"updatedAt":"2021-02-24T05:15:47.000Z","updatedBy":30686922,"createdAt":"2021-02-07T07:04:08.000Z","id":360996685,"guid":"vkCKXyRtYJtR39tg","name":"模块五","name_pinyin":"mkw|'mo'kuai'wu","password_protected":false,"share_mode":"readonly","type":"newdoc","is_delete":0,"user_id":30686922,"deleted_by":null,"updated_by":30686922,"team_id":null,"parent_id":360996672,"created_at":"2021-02-07T07:04:08.000Z","updated_at":"2021-02-24T05:15:47.000Z","isFromSVC":false,"isFolder":false,"collaboratorCount":0,"departmentCollaboratorCount":0,"isSpace":false,"isLocked":false,"parentRole":"inherited","isShortcut":false,"isLegacy":true,"hasChildren":false,"isFileAdmin":false,"isCloudFile":false,"user":{"id":30686922,"name":"恰好","avatar":"https://assets.smcdn.cn/static/unmd5/default-avatar-moke.2.png","email":""},"updatedUser":{"id":30686922,"name":"恰好","avatar":"https://assets.smcdn.cn/static/unmd5/default-avatar-moke.2.png","email":""},"lockedUser":{},"Permissions":[{"id":null,"owner":false}],"permissionsAndReasons":{"canRead":{"value":true,"reason":"UNKNOWN"},"canEdit":{"value":false,"reason":"NO_BASIC_PERMISSION"},"canComment":{"value":false,"reason":"NO_BASIC_PERMISSION"},"canManage":{"value":false,"reason":"NO_BASIC_PERMISSION"},"canExit":{"value":false,"reason":"NOT_A_PERSONAL_COLLABORATOR"},"canExport":{"value":true,"reason":"UNKNOWN"},"canManageCollaborator":{"value":false,"reason":"NOT_A_EDITOR"},"canManageAdmin":{"value":false,"reason":"NOT_FILE_ADMIN_OR_TEAM_ADMIN"},"canAddOutsider":{"value":false,"reason":"NOT_A_TEAM_FILE"},"canCreateChildFile":{"value":false,"reason":"NOT_A_FOLDER"},"canChangeShareMode":{"value":false,"reason":"NOT_A_EDITOR"},"canChangeTeamShareMode":{"value":false,"reason":"NOT_A_EDITOR"},"canCopy":{"value":true,"reason":"UNKNOWN"},"canLock":{"value":false,"reason":"NO_BASIC_PERMISSION"},"canUnlock":{"value":false,"reason":"NO_BASIC_PERMISSION"},"canRemove":{"value":false,"reason":"CANT_MANAGE_FILE"},"canDownload":{"value":false,"reason":"NOT_A_DRIVE_FILE"}},"sortName":["mó","kuài",5],"starred":false,"tags":[],"marked":false,"share_count":0,"views":3},
            user: {},
            watermarkStatus: false
          }
        </script>
        <script>window.__INITIAL_STATE__={"users":{"mirror":{},"diff":{},"data":{},"persist":[]},"files":{"mirror":{},"diff":{},"data":{"vkCKXyRtYJtR39tg":{"id":360996685,"guid":"vkCKXyRtYJtR39tg","name":"模块五","type":"newdoc","user":{"id":30686922,"name":"恰好","avatar":"https://assets.smcdn.cn/static/unmd5/default-avatar-moke.2.png","email":""},"updatedUser":{"id":30686922,"name":"恰好","avatar":"https://assets.smcdn.cn/static/unmd5/default-avatar-moke.2.png","email":""},"teamId":null,"parentId":360996672,"shareMode":"readonly","createdAt":"2021-02-07T07:04:08.000Z","updatedAt":"2021-02-24T05:15:47.000Z","passwordProtected":false,"sortName":["mó","kuài",5],"isSpace":false,"isFromSVC":false,"isNew":false,"starred":false,"watched":false,"mute":false,"requirePassword":false,"collaboratorCount":0,"views":3,"marked":false,"hasDesktopShortcut":false,"permissions":{"readable":true,"editable":false,"commentable":false,"manageable":false,"exitable":false,"collaboratorManageable":false,"outsiderAddable":false,"childFileCreatable":false,"shareModeManageable":false,"moveable":true},"contentUrl":"","creator":{}}},"persist":["vkCKXyRtYJtR39tg"]},"tree":{"mirror":{},"data":{}},"me":{"id":0,"stale":false},"recent":null,"starred":null,"deleted":null,"status":{"online":true,"physicalOnline":true,"pendingRequests":0,"dataLoaded":true,"pushClientId":"8b625c64-21aa-45fb-919f-373e3b9cd0d2"},"notifications":{"all":null,"unread":null,"allHasMore":true,"unreadHasMore":true,"unpeekedCount":0,"unreadCount":0},"collaborators":{"mirror":{},"data":{}},"teams":{"mirror":{},"diff":{},"data":{},"persist":[]},"teamMembers":null,"recentContacts":null,"updated":{"list":[]},"shared":{"list":[]},"unreadShared":null,"created":{"list":[]},"used":{"list":[]},"shortcuts":[],"userGuide":{},"wechat":{},"maintenance":{},"flashMessages":{},"alphaFeatures":{},"subscriptions":{"app_push_comment":true,"app_push_invitation":true,"app_push_team":true,"app_push_mention":true,"not_send_apn_when_web_online":true,"comment":true,"app_push_system":true,"desktop":true},"syncedFiles":{},"discussions":{},"templates":{},"settings":{},"blueTips":{},"bulletin":{},"spaces":{"size":null},"page":{"guid":"vkCKXyRtYJtR39tg"},"ui":{"templateModal":{"visible":false}}}</script>
<script async="" src="./模块五_files/component-73ee97e8a0.js"></script>
<script async="" src="./模块五_files/doc-8b6238e352.js"></script>
    

<div class="ql-bookmarker-container"><button type="button" class="ql-bookmarker"></button></div></body></html>